package top.huxy.boot.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import top.huxy.boot.model.dto.DTOBlog;
import top.huxy.boot.model.entity.Blog;
import top.huxy.boot.model.vo.*;

import java.util.List;

@Mapper
@Repository
public interface BlogMapper {
    int saveBlog(Blog blog);

    int selectMaxId();

    List<VOBlog> getPublicBlogList();

    List<VOBlog> getAllPublicBlog();

    VOBlog getBlogById(Integer id);

//    int addComment(Integer blogId, Integer userId, String content);

//    List<VOComment> getCommentList(int blogID);

//    List<VOReply> getReplyList(int index, int endIndex, Integer cid);
//
//    int addReply(Integer cid, String content, Integer uid);
//
//    int getRidByCid(Integer rid);
//
//    int addReplyReply(int cid, Integer uid, Integer rid, String content);
//
    List<VOBlogQuery> selectBlogByTitle(String title);

    VOBlogDetails getBlogDetailById(Integer id);

    int updateBlog(DTOBlog dtoBlog);

    List<VOBlog> getAdminBlogList();

    int TRUNCATE();

    int saveRawBlog(Blog blog);

    int getPublicBlogCount();

    int getProtectBlogCount();

    int getPrivateBlogCount();

    int getTopBlogCount();
}
